package com.hzy.ioc;

/**
 * @Package: com.hzy.ioc
 * @ClassName: Printer
 * @Author: 862982795
 * @CreateTime: 2021/07/02 20:51
 * @Description:
 */
public class Printer {
    private Ink ink = null;
    private Paper paper = null;

    /**
     * 方法描述
     *
     * @return void
     * @Description:打印方法
     * @author 862982795
     * @date 2021/07/02 20:53
     * @params *@params [message]
     */
    public void print(String message) {
        // 输出颜色标记
        System.out.println("使用" + ink.getColor(255, 200, 0) + "颜色打印:\n");
        // 逐字符输出到纸张
        for (int i = 0; i < message.length(); i++) {
            paper.putInChar(message.charAt(i));
        }
        // 将纸张的内容输出
        System.out.print(paper.getContent());
    }

    /**
     * 方法描述
     *
     * @return void
     * @Description:设值注入所需的 setter 方法
     * @author 862982795
     * @date 2021/07/02 20:57
     * @params *@params [ink] 墨盒
     */
    public void setInk(Ink ink) {
        this.ink = ink;
    }

    /**
     * 方法描述
     *
     * @return void
     * @Description:设值注入所需的 setter 方法
     * @author 862982795
     * @date 2021/07/02 20:58
     * @params *@params [paper] 纸张
     */
    public void setPaper(Paper paper) {
        this.paper = paper;
    }
}
